package com.wy.dao;

import com.wy.model.sys.UserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

@Mapper
public interface UserDao {

	public ArrayList<UserEntity> select(@Param("userEntity") UserEntity userEntity);
	
	public void del(@Param("userEntity") UserEntity userEntity);
	
	public void update(@Param("userEntity") UserEntity userEntity);
	
	public void insert(@Param("userEntity") UserEntity userEntity);
	
	/**
	 * 获取user列表
	 * @param loginName
	 * @param pageSize
	 * @param start
	 * @return
	 */
	public ArrayList<UserEntity> usersList(@Param("loginName")String loginName,@Param("pageSize") int pageSize,@Param("start") int start);

	/**
	 * 获取user列表的总量
	 * @param loginName
	 * @param pageSize
	 * @param start
	 * @return
	 */
	public Integer usersSize(@Param("loginName")String loginName,@Param("pageSize") int pageSize,@Param("start") int start);

	/**
	 * 新建用户信息
	 * @param userEntity
	 */
	public void insertUser(@Param("userEntity") UserEntity userEntity);

	/**
	 * 更新用户信息
	 * @param userEntity
	 */
	public void updateUser(UserEntity userEntity);

	/**
	 * 删除用户信息
	 * @param groupId
	 */
	public void deleteUsers(@Param("groupId") List<String> groupId);

	public UserEntity getUserById(@Param("userId") Integer userId);

	public UserEntity getUserByMobile(@Param("mobile") String mobile);

	public UserEntity getUserByLoginName(@Param("loginName") String loginName);

	/**
	 * 根据loginname获取id
	 */
	public Integer getUesrIdByLoginName(@Param("loginName") String loginName);

	/**
	 * 获取小区维修人员列表
	 * @param residenceId
	 * @return
	 */
	public List<UserEntity> getMaintenanceList(@Param("residenceId") Integer residenceId);
}
